package com.cdu.ai_intelligent_teaching_and_training_system.mapper;

import com.cdu.ai_intelligent_teaching_and_training_system.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Optional;

@Mapper
public interface UserMapper {
    
    // 插入用户
    int insert(User user);
    
    // 根据ID查询用户
    User selectById(@Param("userId") Long userId);
    
    // 根据用户名查询用户
    User selectByUsername(@Param("username") String username);
    
    // 根据邮箱查询用户
    User selectByEmail(@Param("email") String email);
    
    // 查询所有用户
    List<User> selectAll();
    
    // 更新用户
    int update(User user);
    
    // 删除用户
    int deleteById(@Param("userId") Long userId);
    
    // 检查用户名是否存在
    int countByUsername(@Param("username") String username);
    
    // 检查邮箱是否存在
    int countByEmail(@Param("email") String email);
}
